package com.cskaoyan.javase.oop1._17access._1clazz;

/**
 * 类的访问级别
 * 对于类的访问权限控制，非常简单，只有两种：
 * 1. public：对模块中的其他任意类都可见,不同包下也可以使用。
 * 2. （缺省的）不写任何关键字，表示对同包中的其它类可见。
 *
 * 注意事项:
 *      1.如果没有某个类的权限,但是类中的一个成员是public修饰
 *          那么可以访问到这个public成员吗?
 *          显然是不可以的
 *          类的权限要大于类中语法结构的权限
 *
 *       2.思考：为什么class没有私有或者protected之类的权限？
 *          这是因为，单独定义的class是一个独立的概念，它没有对谁私有，受谁保护的概念。
 *          所以一般的class,独立定义的class的访问权限修饰符只有两种
 *          但是类是可以嵌套定义的。
 *          内部类就有了私有之类的概念，就有了更多的访问权限修饰符。
 *          （这个后面会详细学习，先了解一下）
 *
 *
 * @since 10:09
 * @author wuguidong@cskaoyan.onaliyun.com
 */
// 公共的访问级别,可以在模块下任意使用
public class MyDemo {
    private int num;
    protected int num2;

    // 嵌套定义的类
    private class A {
    }
}

// 默认的访问权限,只能在同包下使用
class MyDemo2 {
    public int num;
    public static String var;
}

class A {

}